import axios from 'axios';

// 创建axios实例
const service = axios.create({
    //baseURL: process.env.VUE_APP_BASE_API, // api的base_url
    timeout: 5000 // 请求超时时间
});

// 请求拦截器
service.interceptors.request.use(
    config => {
        // 可以在这里添加请求头等信息
        // 例如：config.headers['Authorization'] = 'Bearer your-token';
        return config;
    },
    error => {
        // 请求错误处理
        return Promise.reject(error);
    }
);

// 响应拦截器
service.interceptors.response.use(
    response => {
        // 对响应数据做处理，例如只返回data部分
        console.log("axios response:",response)
        const code = response.status;
        // 如果返回的状态码为200，说明成功，可以直接返回数据
        if (isHttpSuccessful(code)) {
            return response;
        } else {
            // 其他状态码都当作错误处理
            return Promise.reject(response || 'error');
        }
    },
    error => {
        // 服务器状态码不为200时的错误处理
        return Promise.reject(error);
    }
);

function isHttpSuccessful(status) {
    return status >= 200 && status < 300;
}

export default service;